/*************************************************
* Title：TinyToolKit
* Author：Opportunity 
* Describe：定义Xml模板类的接口
* CreateTime：2020-04-05 21:53:37
* Version：1.0
* Modify Recorder：
*************************************************/
using System;
using System.IO;

namespace TinyToolKit
{
    public static partial class TinyUtility
    {
        public static partial class XML
        {
            public interface IXmlTemplate
            {
                /// <summary>
                /// 将对象序列化为XML，并保存在目标路径
                /// </summary>
                /// <param name="savePath">序列化后XMl保存的路径</param>
                /// <param name="obj">需要序列化的对象</param>
                void XmlSerialize(string savePath,object obj);

                /// <summary>
                /// 将目标路径的XML文件反序列化为对象
                /// </summary>
                /// <typeparam name="T">需要反序列化的对象类型</typeparam>
                /// <param name="targetPath">XML文件存储的目标路径</param>
                /// <returns>反序列化后的类</returns>
                T XmlDeSerialize<T>(string targetPath) where T : class;

                /// <summary>
                /// 将目标路径的XML文件反序列化为对象
                /// </summary>
                /// <param name="objectType">需要反序列化的对象类型</param>
                /// <param name="targetPath">XML文件存储的目标路径</param>
                /// <returns>反序列化后的类</returns>
                object XmlDeSerialize(Type objectType,string targetPath);
            }
        }
    }
}